package com.ruoyi.behindTeam.mapper;

import java.util.List;
import com.ruoyi.behindTeam.domain.YYYDocTeam;
import com.ruoyi.behindTeam.domain.yyyySysUser;

/**
 * 所有团队Mapper接口
 * 
 * @author ruoyi
 * @date 2025-08-18
 */
public interface YYYDocTeamMapper 
{
    /**
     * 查询所有团队
     * 
     * @param teamId 所有团队主键
     * @return 所有团队
     */
    public YYYDocTeam selectYYYDocTeamByTeamId(Long teamId);

    /**
     * 查询所有团队列表
     * 
     * @param yYYDocTeam 所有团队
     * @return 所有团队集合
     */
    public List<YYYDocTeam> selectYYYDocTeamList(YYYDocTeam yYYDocTeam);

    /**
     * 新增所有团队
     * 
     * @param yYYDocTeam 所有团队
     * @return 结果
     */
    public int insertYYYDocTeam(YYYDocTeam yYYDocTeam);

    /**
     * 修改所有团队
     * 
     * @param yYYDocTeam 所有团队
     * @return 结果
     */
    public int updateYYYDocTeam(YYYDocTeam yYYDocTeam);

    /**
     * 删除所有团队
     * 
     * @param teamId 所有团队主键
     * @return 结果
     */
    public int deleteYYYDocTeamByTeamId(Long teamId);

    /**
     * 批量删除所有团队
     * 
     * @param teamIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYYYDocTeamByTeamIds(Long[] teamIds);

    /**
     * 批量删除用户信息
     * 
     * @param teamIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysUserByTeamIds(Long[] teamIds);
    
    /**
     * 批量新增用户信息
     * 
     * @param sysUserList 用户信息列表
     * @return 结果
     */
    public int batchSysUser(List<yyyySysUser> sysUserList);
    

    /**
     * 通过所有团队主键删除用户信息信息
     * 
     * @param teamId 所有团队ID
     * @return 结果
     */
    public int deleteSysUserByTeamId(Long teamId);

    /**
     * 根据查询团队关联的用户（医生）列表
     * @param teamId 团队ID
     * @return 医生列表
     */
    public List<yyyySysUser> selectSysUserList(Long teamId);
}
